Adaptively serving companion shared content

ABSTRACT

A system including a monitoring unit to monitor in-stream shared content and content served via the online service to a user; an in-stream shared content receiving unit to receive information about the in-stream shared content served with the content; a companion shared content selection unit to select the companion shared content based on the monitored in-stream shared content and content, and the received information; and a transmitting unit to transmit the selected companion shared content to the online service.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.13/917,808, filed on Jun. 14, 2013, the entire contents of which ishereby incorporated by reference in its entirety.

BACKGROUND

A variety of online services may retrieve media from a source, such as amedia sharing web site or a service that provides media to anapplication on a user device. The online services may distribute themedia to users that access the online services. The media may becontent, such as a combination of video, audio, or text.

The content may be sourced from users of the online services, or frompublishers of media. The online services may augment the serving of thecontent with shared content. The shared content may be presented before,during or after the presentation of the content. Alternatively, or inaddition to, the shared content may be presented alongside thepresentation of the content. The shared content may be associated withmeta information, and in response to a viewer of the content accessingthe meta information, the viewer may be redirected to another onlineservice.

In addition to shared content being provided, companion shared contentmay also be introduced to the viewer of the content. For example, theshared content may be presented in a viewing area reserved for thecontent. In this case, the shared content may be, for example, anin-stream media item played before, during or after the content.

The companion shared content may be presented in an area not occupied bythe viewing area used for the content. Thus, the companion sharedcontent may be presented in a format not similar to the content. Forexample, if the content is presented in a popular video format, thecompanion shared content may be presented as a hypertext markup language(html), a flash container, or any format capable of being consumed bythe viewer of the content.

Thus, by providing in-stream shared content and companion shared contentto a viewer of content, multiple routes of augmenting the content isachieved. Further, because the in-stream shared content may be served ina format similar to the content, the companion shared content may beserved in a unique and separate way.

In order to provide the viewer of the content control and flexibility,the in-stream shared content may be served with an option to skipviewing the in-stream shared content. Thus, if the viewer is notinterested in the in-stream shared content being served in-stream alongwith the content, a prompt to skip the viewing of the shared content maybe provided at a predetermined time. In this way, an online service mayretain the viewer by preventing the viewer from being disinterested inthe in-stream shared content being provided.

SUMMARY

A system and method for adaptively serving companion shared content viaan online service are provided. The system includes a monitoring unit tomonitor in-stream shared content and content served via the onlineservice to a user; an in-stream shared content receiving unit to receiveinformation about the in-stream shared content served with the content;a companion shared content selection unit to select the companion sharedcontent based on the monitored in-stream shared content and content, andthe received information; and a transmitting unit to transmit theselected companion shared content to the online service.

DESCRIPTION OF THE DRAWINGS

The detailed description refers to the following drawings, in which likenumerals refer to like items, and in which:

FIG. 1 is a block diagram illustrating an example computer.

FIG. 2 illustrates an example of a system for adaptively servingcompanion shared content via an online service.

FIG. 3 illustrates an example of a method for adaptively servingcompanion shared content via an online service.

FIGS. 4(a) and 4(b) illustrate an example of an implementation of thesystem of FIG. 2.

DETAILED DESCRIPTION

An online service that serves content, such as videos, audio, text or acombination thereof may augment the content with shared content that isin-stream. Additionally, or alternatively to, the online service mayserve companion shared content. The companion shared content is servedalongside the content. The companion shared content may be provided in aformat similar or different than the format employed to present thecontent and in-stream shared content.

For example, the companion shared content may be provided as html. Thecompanion shared content may contain meta data, such as links and otherhtml elements in order to convey information pertaining to the companionshared content's theme.

If the companion shared content is directed to a consumer product, thecompanion shared content may contain text associated with the consumerproduct, a link directing the viewer of the content to an external site,or any sort of information employed to educate or attract the viewer tothe existence of the consumer product.

Disclosed herein are methods and systems for adaptively servingcompanion shared content. The companion shared content may be adaptivelyserved in a certain way based on a user's interaction with an onlineservice. Alternatively, or in addition to, the companion shared contentmay be adaptively served based on a user's perceived interest of othershared content, such as an in-stream shared content. Further, thecompanion shared content may be adaptively served based on other aspectsof the user's interaction with content, such as preferences indicated bythe user or a theme associated with the content.

In essence, by adaptively serving companion shared content, thecompanion shared content may be presented in a way that encourages theuser of an online service to access or be influenced by the companionshared content. Thus, the online service may realize a greater return oninvestment associated with the companion shared content due to thecompanion shared content being more effective at attracting the viewerof the content.

In situations in which the methods and systems discussed here collectpersonal information about users, or may make use of personalinformation, the users may be provided with an opportunity to controlwhether programs or features collect user information (e.g., informationabout a user's social network, social actions or activities, profession,a user's preferences, or a user's current location), or to controlwhether and/or how to receive content from the content server that maybe more relevant to the user. In addition, certain data may be treatedin one or more ways before it is stored or used, so that personallyidentifiable information is removed. For example, a user's identity maybe treated so that no personally identifiable information can bedetermined for the user, or a user's geographic location may begeneralized where location information is obtained (such as to a city,ZIP code, or state level), so that a particular location of a usercannot be determined. Thus, the user may have control over howinformation is collected about the user and used by a content server.

FIG. 1 is a block diagram illustrating an example computer 100. Thecomputer 100 includes at least one processor 102 coupled to a chipset104. The chipset 104 includes a memory controller hub 120 and aninput/output (I/O) controller hub 122. A memory 106 and a graphicsadapter 112 are coupled to the memory controller hub 120, and a display118 is coupled to the graphics adapter 112. A storage device 108,keyboard 110, pointing device 114, and network adapter 116 are coupledto the I/O controller hub 122. Other embodiments of the computer 100 mayhave different architectures.

The storage device 108 is a non-transitory computer-readable storagemedium such as a hard drive, compact disk read-only memory (CD-ROM),DVD, or a solid-state memory device. The memory 106 holds instructionsand data used by the processor 102. The pointing device 114 is a mouse,track ball, or other type of pointing device, and is used in combinationwith the keyboard 110 to input data into the computer system 100. Thegraphics adapter 112 displays images and other information on thedisplay 118. The network adapter 116 couples the computer system 100 toone or more computer networks.

The computer 100 is adapted to execute computer program modules forproviding functionality described herein. As used herein, the term“module” refers to computer program logic used to provide the specifiedfunctionality. Thus, a module can be implemented in hardware, firmware,and/or software. In one embodiment, program modules are stored on thestorage device 108, loaded into the memory 106, and executed by theprocessor 102.

The types of computers used by the entities and processes disclosedherein can vary depending upon the embodiment and the processing powerrequired by the entity. The computer 100 may be a mobile device, tablet,smartphone or any sort of computing element with the above-listedelements. For example, a video corpus, such as a hard disk, solid statememory or storage device, might be stored in a distributed databasesystem comprising multiple blade servers working together to provide thefunctionality described herein. The computers can lack some of thecomponents described above, such as keyboards 110, graphics adapters112, and displays 118.

FIG. 2 illustrates an example of a system 200 for adaptively servingcompanion shared content. The system 200 includes a monitoring unit 210,in-stream shared content receiving unit 220, companion shared contentselection unit 230, and a transmitting unit 240. The system 200interacts with an online service 280. The online service 280 may be anysort of web site, application, or media sharing service that servescontent to a user device 290. For example, a user device 290 may beemployed to access the online service 280 to receive content via network250. The content may be media, such as video, audio, text, or acombination thereof. The online service 280 may provide the content in astreaming format, thereby allowing the user device 290 to access andview the content in real-time.

In addition to serving content, the online service 280 may provide anin-stream shared content (from an in-stream shared content database 260)and companion shared content (from a companion shared content database270) as well.

The system 200 may be implemented on a distributed storage device, suchas a cloud, or on a device such as computer 100.

The monitoring unit 210 monitors activity on the online service 280. Themonitoring unit 210 includes a user detection unit 211 and an actionmonitoring unit 212. The monitoring unit 210 may instigate monitoringany time content is accessed via the online service 280 via a device,such as user device 290.

The user detection unit 211 monitors the user device 290 accessingcontent via the online service 280. The user of the user device 290 maybe logged-in to the online service 280. Alternatively, or in additionto, if the user has given permission to the online service 280, theonline service 280 may ascertain the user's identity. Further, onlineservice 280 may store previous activity via the online service 280 bythe user or user device 290. Thus, based on the user detection unit 211monitoring the online service 280, the system 200 may store a record ofactivity and preferences associated with the specific user or userdevice 290.

The action monitoring unit 212 monitors an action by the user device 290for a specific content item being served via the online service 280. Forexample, if shared content being served in-stream with a content item isskipped, the action monitoring unit 212 makes note of the skipping.Conversely, if the in-stream shared content is watched through itsentirety or for longer than a predetermined threshold, the actionmonitoring unit 212 may record this action by a specific user or userdevice 290.

The in-stream shared content receiving unit 220 receives informationabout the in-stream shared content being served with the content. Forexample, if the content is being served along with an in-stream sharedcontent item directed to a popular new movie, the in-stream sharedcontent receiving unit 220 may record this. The in-stream shared contentis sourced from the in-stream shared content database 260. The in-streamshared content receiving unit 220 may receive this information inreal-time, thereby allowing the system 200 to adaptively providecompanion shared content dynamically.

The companion shared content selection unit 230 selects a companionshared content item to augment a user or user device 290's accessing ofcontent via online service 280. The companion shared content selectionunit 230 may retrieve companion shared content from the companion sharedcontent database 270.

The companion shared content selected may be contingent on themonitoring unit 210 and the in-stream shared content receiving unit 220.For example, if the action monitoring unit 212 monitors that the user orthe user device 290 does not skip an in-stream shared content servedwith content (or does not skip the in-stream shared content for at leasta predetermined amount of time), the companion shared content selectionunit 230 may select companion shared content related to the in-streamshared content.

Conversely, if the user or user device 290 does skip the in-streamshared content, the companion shared content selection unit 230 mayselect companion shared content based on another metric or rationale.

Another metric or rationale may be a parameter associated with the useror a history of accessing the online service 280 associated with theuser device 290. For example, if the user device 290 accesses contentrelated to sports, the companion shared content selection unit 230 mayselect a companion shared content item directed to sports.

Another rationale may be a theme associated with the user or the userdevice 290. The theme may simply be a user or user device 290'sinteraction with another online service that communicates with onlineservice 280 via network 250. For example, if the user or user device 290is associated with a mapping online service, an application purchasingstore, phone numbers, or stored content on the user device 290, thecompanion shared content selection unit 230 may employ some or all ofthe above-listed information to select companion shared content from thecompanion shared content database 270.

The system 200 may be configured to select companion shared contentthrough various combinations of information monitored by the monitoringunit 210. Thus, the companion shared content selected may be based on acombination and weighting of the monitored action of the specific useror user device 290 by the action monitoring unit 212, or informationascertained by the user detection unit 211.

The transmitting unit 240 transmits the companion shared contentselected via the companion shared content selection unit 230. Thecompanion shared content selection unit 230 may be configured totransmit the selected companion shared content before the content isserved, during the serving of the content or after the content isserved. The companion shared content may be presented contingent on thetype of the user device 290 being served the content. For example, thecompanion shared content may be interactive or larger in size based onthe user device 290 being a tablet or personal computer. Conversely, ifthe user device 290 is a smart phone, the companion shared content maybe more compact and less data intensive.

FIG. 3 illustrates an example of a method 300 for adaptively selectioncompanion shared content. The method 300 may be implemented on a systemor a device, such as system 200 described above.

In operation 310, activity is monitored on an online service. Thus, anytime content is served via the online service, in operation 310 anindication of the content being served is noted, and method 300commences. For example, if a user or user device 290 access content onthe online service, in operation 310 the access is monitored.

In operation 320, information about the user or user device 290 isdetected. For example, the information monitored may be similar to theinformation detected via the user detection unit 211. Thus, in operation320, information about the user's or operator of user device 290'spreferences and activity may be monitored.

In operation 330, in-stream shared content served along with the contenttriggering detection in operation 310 is monitored. Specifically, inoperation 330 an observation is made as to whether the user or userdevice 290 skipped the access of the shared content or accessed theshared content in its entirety or for longer than a predeterminedthreshold.

In operation 340, if the user did not skip accessing the shared content(or accessed in-stream shared content for longer than a predeterminedthreshold), companion shared content is selected/created based on thein-stream shared content. Thus, the companion shared content may berelated to the in-stream shared content, or provide an access to furtherinformation associated with the in-stream shared content.

In operation 350, if the user did skip viewing the in-stream sharedcontent, the companion shared content may be selected/created viaanother rationale. For example, the companion shared content may beselected based on the information obtained in operation 320.

Alternative to the method shown in FIG. 3, operations 320 or 330 may beselectively provided. Thus, the companion shared content may beselected/created based on a combination of the information obtained inoperation 320 and the determination made in 330. And conversely, thecompanion shared content selected/created may be performed based on onlyone of steps performed in either operations 320 and 330.

In operation 360, the companion shared content is transmitted to a partyserving content/in-stream shared content, such as online service 280. Inoperation 360, the companion shared content may be served in a formcontingent on the service or device receiving the companion sharedcontent.

FIGS. 4(a) and 4(b) illustrate an example of an implementation of thesystem 200.

Referring to FIG. 4(a), user device 290 includes a display 400 of anonline service 280. On the display 400, in-stream shared content isbeing served directed to a new movie. A third-party may have requestedthe online service 280 to direct various users of the online service 280to be served with this in-stream shared content.

The display 400 also includes a skip button 410 selectively displayedduring the serving of the shared content. The skip button 410, inresponse to being asserted or requested, allows the user viewing theshared content to not be served the shared content in its entirety. Theonline service 280 may provide the skip button 410 to ensure that userswho are not interested in the shared content are not served the sharedcontent in its entirety. By allowing the users to skip shared contentthat the user is not interested in, the user is incentivized to maintainactivity via the online service 280.

Additionally, or alternatively to, the display 400 may include a laterbutton 415. In this instance, if the user asserts the later button 415,the online service 280 makes note of this assertion. The later button415 allows the user to indicate that the user is interested in thesubject matter of the in-stream shared content.

Referring to FIG. 4(b), the display 400 now serves the content the userintended to access (or was directed to by online service 280). Forexample, if via the user device 290 specific content is searched for oraccessed; the specific content is displayed on display 400. Display 400may be an embedded player provided by the online service 280 that servescontent in a format similar to or compatible with the in-stream sharedcontent shown in FIG. 4(a).

In another part of the user device 290, such as an area around thedisplay 400, the user device 290 displays companion shared content 420.In the case shown in FIG. 4(b), the user in FIG. 4(a) did not skip theshared content (or watched the shared content for at least apredetermined threshold time), or asserted the later button 415. Thus,the companion shared content 420 is related to the in-stream sharedcontent shown in FIG. 4(a). As shown in FIG. 4(b), the companion sharedcontent 420 is a link directed to a web site about the new movie videotrailer shown in FIG. 4(a).

Although not shown, if the user had skipped the shared content byasserting skip button 410, the companion shared content 420 selected maynot be related to the in-stream shared content shown in FIG. 4(a). Asexplained above with reference to system 200 and method 300, a differentrationale for selecting companion shared content 420 may be employed,such as a preference associated with the operator of user device 290 ora history of activity associated with the user device 290.

Thus, by adaptively serving companion shared content based on a userdevice's interaction with an online service, the online service ensuresthat information pertinent to a specific user is delivered and served tothe user. In cases where an online service monetizes the serving ofshared content to various users, because the shared content is morerelevant to the user (based on monitored and perceived interests), theonline service may achieve greater return on investment of servedcompanion shared content due to the companion shared content making agreater impression on the user of a user device accessing the onlineservice.

Certain of the devices shown in FIG. 1 include a computing system. Thecomputing system includes a processor (CPU) and a system bus thatcouples various system components including a system memory such as readonly memory (ROM) and random access memory (RAM), to the processor.Other system memory may be available for use as well. The computingsystem may include more than one processor or a group or cluster ofcomputing system networked together to provide greater processingcapability. The system bus may be any of several types of bus structuresincluding a memory bus or memory controller, a peripheral bus, and alocal bus using any of a variety of bus architectures. A basicinput/output (BIOS) stored in the ROM or the like, may provide basicroutines that help to transfer information between elements within thecomputing system, such as during start-up. The computing system furtherincludes data stores, which maintain a database according to knowndatabase management systems. The data stores may be embodied in manyforms, such as a hard disk drive, a magnetic disk drive, an optical diskdrive, tape drive, or another type of computer readable media which canstore data that are accessible by the processor, such as magneticcassettes, flash memory cards, digital versatile disks, cartridges,random access memories (RAMs) and, read only memory (ROM). The datastores may be connected to the system bus by a drive interface. The datastores provide nonvolatile storage of computer readable instructions,data structures, program modules and other data for the computingsystem.

To enable human (and in some instances, machine) user interaction, thecomputing system may include an input device, such as a microphone forspeech and audio, a touch sensitive screen for gesture or graphicalinput, keyboard, mouse, motion input, and so forth. An output device caninclude one or more of a number of output mechanisms. In some instances,multimodal systems enable a user to provide multiple types of input tocommunicate with the computing system. A communications interfacegenerally enables the computing device system to communicate with one ormore other computing devices using various communication and networkprotocols.

The preceding disclosure refers to a number of flow charts andaccompanying descriptions to illustrate the embodiments represented inFIG. 3. The disclosed devices, components, and systems contemplate usingor implementing any suitable technique for performing the stepsillustrated in these figures. Thus, FIG. 3 is for illustration purposesonly and the described or similar steps may be performed at anyappropriate time, including concurrently, individually, or incombination. In addition, many of the steps in these flow charts maytake place simultaneously and/or in different orders than as shown anddescribed. Moreover, the disclosed systems may use processes and methodswith additional, fewer, and/or different steps.

Embodiments disclosed herein can be implemented in digital electroniccircuitry, or in computer software, firmware, or hardware, including theherein disclosed structures and their equivalents. Some embodiments canbe implemented as one or more computer programs, i.e., one or moremodules of computer program instructions, encoded on a tangible computerstorage medium for execution by one or more processors. A computerstorage medium can be, or can be included in, a computer-readablestorage device, a computer-readable storage substrate, or a random orserial access memory. The computer storage medium can also be, or can beincluded in, one or more separate tangible components or media such asmultiple CDs, disks, or other storage devices. The computer storagemedium does not include a transitory signal.

As used herein, the term processor encompasses all kinds of apparatus,devices, and machines for processing data, including by way of example aprogrammable processor, a computer, a system on a chip, or multipleones, or combinations, of the foregoing. The processor can includespecial purpose logic circuitry, e.g., an FPGA (field programmable gatearray) or an ASIC (application-specific integrated circuit). Theprocessor also can include, in addition to hardware, code that createsan execution environment for the computer program in question, e.g.,code that constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, a cross-platform runtimeenvironment, a virtual machine, or a combination of one or more of them.

A computer program (also known as a program, module, engine, software,software application, script, or code) can be written in any form ofprogramming language, including compiled or interpreted languages,declarative or procedural languages, and the program can be deployed inany form, including as a stand-alone program or as a module, component,subroutine, object, or other unit suitable for use in a computingenvironment. A computer program may, but need not, correspond to a filein a file system. A program can be stored in a portion of a file thatholds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub-programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

To provide for interaction with an individual, the herein disclosedembodiments can be implemented using an interactive display, such as agraphical user interface (GUI). Such GUI's may include interactivefeatures such as pop-up or pull-down menus or lists, selection tabs,scannable features, and other features that can receive human inputs.

The computing system disclosed herein can include clients and servers. Aclient and server are generally remote from each other and typicallyinteract through a communications network. The relationship of clientand server arises by virtue of computer programs running on therespective computers and having a client-server relationship to eachother. In some embodiments, a server transmits data (e.g., an HTML page)to a client device (e.g., for purposes of displaying data to andreceiving user input from a user interacting with the client device).Data generated at the client device (e.g., a result of the userinteraction) can be received from the client device at the server.

What is claimed is:
 1. A system comprising: a memory; a processor,coupled to the memory, to: provide, via an online service, media contentfor consumption by a user of a user device, wherein the media content isprovided for playback within a media player of the user device; providein-stream content to the user device for automatic playback within themedia player of the user device without the playback of the mediacontent; receive an indication of user interaction with the in-streamcontent that is automatically played back within the media player of theuser device without the playback of the media content; and selectcompanion content to send to the user device based on the indication ofuser interaction, wherein the companion content is unrelated to thein-stream content and is selected responsive to the indication of userinteraction suggesting that the user is uninterested in the in-streamcontent.
 2. The system of claim 1, the processor further to: cause theselected companion content to be transmitted to the user device fordisplay.
 3. The system of claim 1, wherein the in-stream content is todisplay within the media player prior to a display of the media content.4. The system of claim 1, wherein to select the companion content thatis unrelated to the in-stream content, the processor further to: selectthe companion content based on at least one of prior user activity, userpreferences, or user history.
 5. The system of claim 1, wherein toselect companion content to send to the user device based on theindication of user interaction, the processor further to: responsive tothe indication of user interaction representing that the user isinterested in the in-stream content, select the companion content thatis related to the in-stream content.
 6. The system of claim 1, whereinto select the companion content to send to the user device based on theindication of user interaction, the processor further to: responsive tothe indication of the user interaction with the in-stream contentrepresenting that the user has consumed the in-stream content for a timeperiod longer than a threshold amount, select the companion content thatis related to the in-stream content.
 7. The system of claim 1, whereinto select the companion content to send to the user device based on theindication of user interaction, the processor further to: responsive tothe indication of the user interaction representing that the user hasconsumed the in-stream content for a time period less than a thresholdamount, select the companion content that is unrelated to the in-streamcontent.
 8. The system of claim 1, wherein the companion content is todisplay outside the media player of the user device.
 9. The system ofclaim 1, wherein to select the companion content to send to the userdevice based on the indication of user interaction, the processorfurther to: select the companion content that is related to thein-stream content responsive to the indication of the user interactionwith the in-stream content representing that the user has consumed thein-stream content for a time period equal to a threshold amount.
 10. Thesystem of claim 1, the processor further to: monitor the userinteraction associated with the in-stream content.
 11. A non-transitorycomputer-readable medium comprising instruction that, responsive toexecution by a processor, cause the processor to perform operationscomprising: providing, via an online service, media content forconsumption by a user of a user device, wherein the media content isprovided for playback within a media player of the user device;providing in-stream content to the user device for automatic playbackwithin the media player of the user device without the playback of themedia content; receiving an indication of user interaction with thein-stream content that is automatically played back within the mediaplayer of the user device; and selecting, by the processor, companioncontent to send to the user device based on the indication of userinteraction, wherein the companion content that is unrelated to thein-stream content is selected responsive to the indication of userinteraction suggesting that the user is in the in-stream shared content.12. The non-transitory computer-readable medium of claim 11, whereinselecting the companion content to send to the user device based on theindication of user interaction further comprises: responsive to theindication of user interaction representing that the user is interestedin the in-stream content, selecting the companion content that isrelated to the in-stream content.
 13. The non-transitorycomputer-readable medium of claim 11, wherein selecting the companioncontent to send to the user device based on the indication of userinteraction further comprises: responsive to the indication of the userinteraction with the in-stream content representing that the user hasconsumed the in-stream content for a time period longer than a thresholdamount, selecting the companion content that is related to the in-streamcontent; and responsive to the indication of the user interactionrepresenting that the user has consumed the in-stream content for a timeperiod less than the threshold amount, selecting the companion contentthat is unrelated to the in-stream content.
 14. A method, comprising:providing, via an online service, media content for consumption by auser of a user device, wherein the media content is provided forplayback within a media player of the user device; providing in-streamcontent to the user device for automatic playback within the mediaplayer of the user device without the playback of the media content;receiving an indication of user interaction with the in-stream contentthat is automatically played back within the media player of the userdevice without the playback of the media content; and selecting, by aprocessor, companion content to send to the user device based on theindication of user interaction, wherein the companion content that isunrelated to the in-stream content is selected responsive to theindication of user interaction suggesting that the user is uninterestedin the in-stream content.
 15. The method of claim 14, wherein selectingthe companion content to send to the user device based on the indicationof user interaction comprises: responsive to the indication of userinteraction representing that the user is interested in the in-streamcontent, selecting the companion content that is related to thein-stream content.
 16. The method of claim 14, wherein selecting thecompanion content to send to the user device based on the indication ofuser interaction comprises: responsive to the indication of the userinteraction with the in-stream content representing that the user hasconsumed the in-stream content for a time period longer than a thresholdamount, selecting the companion content that is related to the in-streamcontent; and responsive to the indication of the user interactionrepresenting that the user has consumed the in-stream content for a timeperiod less than the threshold amount, selecting the companion contentthat is unrelated to the in-stream content.